package com.lanp.gencode.apifox.model;

import com.alibaba.fastjson.PropertyNamingStrategy;
import com.alibaba.fastjson.annotation.JSONType;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author JiangPeng
 * Created with IntelliJ IDEA.
 * Description:  应收单返回类
 * Date: 2024-01-08 16:36:23
 */
@Data
@NoArgsConstructor
@JSONType(naming = PropertyNamingStrategy.SnakeCase)
@JsonNaming(com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy.class)
public class CreditChangePo {
    private Long id;

    /**
     * 变更编码
     */
    private String changeCode;

    /**
     * 应收单号
     */
    private String receivableCode;

    /**
     * 变更类型 消费CONSUME 退款REFUND 还款REPAY 启用ENABLE 停用DISABLE 冻结/禁用FROZEN 提额UP 发布PUSH
     */
    private String changeType;

    /**
     * 账期编码
     */
    private String creditCode;

    /**
     * 添加时间
     */
    private Date addTime;

    /**
     * 操作人
     */
    private String operator;

    /**
     * 使用方店铺名称
     */
    private String consumeShopName;

    /**
     * 提供方店铺名称
     */
    private String provideShopName;

    /**
     * 交易单号
     */
    private String tradeCode;

    /**
     * 变更额度
     */
    private BigDecimal changeLine;

    /**
     * 可用额度
     */
    private BigDecimal creditAvailable;

    /**
     * 已回款额度
     */
    private BigDecimal recoveryAmount;

    /**
     * 恢复额度类型:1=返利;2=线下退货;3=回款;
     */
    private Integer recoveryAmountType;

    /**
     * 回款时间
     */
    private Date recoveryTime;

    /**
     * 消费账单是否全部回款进度:0=待回款;1=部分回款;2=已回款;
     */
    private Short recoverySchedule;

    /**
     * 发生时间基于java开始时间算的历史第多少个月
     */
    private Integer occurMonthOfTime;

    /**
     * 出账状态:0=未出账;1已出账;
     */
    private Boolean settlementStatus;

    /**
     * 对账单号
     */
    private String statementCode;

    /**
     * 最晚回款日期
     */
    private Date lastReceivableTime;

    /**
     * 【账龄】单选枚举；枚举值：1=一个月及以内、2=两个月，3=三个月，4=四个月，5=五个月，6=六个自然月，7=七个自然月，8=八个自然月，9=九个自然月，10=十个自然月，11=十一个自然月，12=一个自然年；
     */
    private String aging;
}